package com.modern.devtools.interfaces;

/**
 * Interface for secure storage of sensitive information like passwords, private keys, etc.
 * Abstracts different operating system implementations (Windows, macOS, Linux)
 */
public interface SecureStorageService {
    
    /**
     * Stores a secret value securely
     * @param key The key to identify the secret
     * @param value The secret value to store
     */
    void storeSecret(String key, String value);
    
    /**
     * Retrieves a previously stored secret
     * @param key The key to identify the secret
     * @return The stored secret value, or null if not found
     */
    String retrieveSecret(String key);
    
    /**
     * Deletes a previously stored secret
     * @param key The key to identify the secret to delete
     */
    void deleteSecret(String key);
    
    /**
     * Checks if a secret exists for the given key
     * @param key The key to check
     * @return true if the secret exists, false otherwise
     */
    boolean hasSecret(String key);
}